using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace GGameFramework.Runtime
{
    public enum FrameworkComponentPriority
    {
        Pre = -1,
        Core,
        System,
        GamePlay,
        Default = 9999,
    }

    /// <summary>
    /// 游戏框架组件抽象类。
    /// </summary>
    public abstract class FrameworkComponent : MonoBehaviour
    {
        public abstract FrameworkComponentPriority Priority { get; }

        /// <summary>
        /// 初始化
        /// </summary>
        protected virtual void Awake()
        {
            Debug.Log($"注入{this.GetType().Name}");
            ComponentEntry.RegisterComponent(this);
        }
    }
}

